package com.fxu.jushuitan.dto.purchase;

import lombok.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * 购退货上传（新）请求
 * @author fangxu
 * @since 2023-09-18
 **/
@Data
@Builder
public class PurchaseOutUploadReq {

    /**
     * 非必填
     * 是否自动确认
     */
    private Boolean isConfirm;

    /**
     * 非必填
     * 分仓编号
     */
    private Integer wmsCoId;

    /**
     * 必填
     * 供应商编号
     */
    @NonNull
    private Integer supplierId;

    /**
     * 非必填
     * 采购单号
     */
    private Integer poId;

    /**
     * 必填
     * 外部单号
     */
    @NonNull
    private String externalId;

    /**
     * 非必填
     * 备注
     */
    private String remark;

    /**
     * 非必填
     * 仓库编号 主仓=1，销退仓=2， 进货仓=3，次品仓 = 4
     */
    private Integer warehouse;


    /**
     * 必填
     * 商品列表
     */
    @NonNull
    @Singular
    private List<Item> items;

    @Data
    @Builder
    public static class Item {

        /**
         * 必填
         * 商品编码
         */
        @NonNull
        private String skuId;

        /**
         * 必填
         * 数量
         */
        @NonNull
        private Integer qty;

        /**
         * 非必填
         * 单价
         */
        private BigDecimal price;

        /**
         * 非必填
         * 批次单号，系统中需开启相关配置
         */
        private String batchId;

        /**
         * 非必填
         * 生产日期，系统中需开启相关配置
         */
        private String producedDate;
    }
}
